{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys,copy,os,inspect\n",
    "if hasattr(sys.modules[__name__], '__file__'):\n",
    "    _file_name = __file__\n",
    "else:\n",
    "    _file_name = inspect.getfile(inspect.currentframe())\n",
    "CURRENT_FILE_PATH = os.path.dirname(_file_name)\n",
    "sys.path.append(os.getcwd()+\"/../neuronVis\")\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['pdf.fonttype'] = 42\n",
    "plt.rcParams['ps.fonttype'] = 42\n",
    "matplotlib.use('module://matplotlib_inline.backend_inline')\n",
    "%matplotlib inline\n",
    "\n",
    "import IONData \n",
    "iondata = IONData.IONData()\n",
    "import pickle\n",
    "import Scene,NeuronProcess,SwcLoader\n",
    "import numpy as np\n",
    "import Visual as nv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "neuronList1=[\n",
    "    221244001,\n",
    "221244002,\n",
    "221245001,\n",
    "221245002,\n",
    "221250002,\n",
    "221250003,\n",
    "221250004,\n",
    "221250005,\n",
    "221248001\n",
    "]\n",
    "neuronList2=[\n",
    "221247002,\n",
    "221246001,\n",
    "221246002,\n",
    "221246003,\n",
    "221246006,\n",
    "221246007,\n",
    "221246008,\n",
    "221246010\n",
    "]\n",
    "neuronList1 = np.array(neuronList1,dtype=str)\n",
    "neuronList2 = np.array(neuronList2,dtype=str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "def GetFirstOrderEdges(edgesForCluster,parentedge):\n",
    "    for child in parentedge.children:\n",
    "        if child.order!=0:\n",
    "            edge = SwcLoader.Edge()\n",
    "            edgesForCluster.append(edge)\n",
    "            for p in child.data:\n",
    "                edge.addPoint(SwcLoader.Point([p.index,p.type,p.x,p.y,p.z,p.ratio,p.parentIndex]))\n",
    "            child.maxDepth=1\n",
    "            GetFirstOrderEdges(edgesForCluster,child)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "221247 002.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221247/002.swc\n",
      "221246 001.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/001.swc\n",
      "221246 002.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/002.swc\n",
      "221246 003.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/003.swc\n",
      "221246 006.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/006.swc\n",
      "221246 007.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/007.swc\n",
      "221246 008.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/008.swc\n",
      "221246 010.swc\n",
      "exist  d:\\project\\python\\neuron-vis\\figures/../neuronVis/../resource/swc/221246/010.swc\n"
     ]
    }
   ],
   "source": [
    "neuronvis = nv.neuronVis(renderModel=1)\n",
    "neuronArbor={}\n",
    "neuronTrunk={}\n",
    "neuronALLproj={}\n",
    "for neuron in neuronList2[:]:\n",
    "    terminalArbor=[]\n",
    "    print(neuron[0:6], neuron[6:9]+'.swc')\n",
    "    neuronProperty = iondata.getNeuronPropertyByID(neuron[0:6], neuron[6:9]+'.swc')['projectregion']\n",
    "    neuronT = iondata.getNeuronTreeByID(neuron[0:6], neuron[6:9]+'.swc')\n",
    "    neuronT.dendriteHide=True\n",
    "    NeuronProcess.CalculateBranchMaxDepth(neuronT)\n",
    "    mainbranch=[]\n",
    "    if neuronT.rootAxonEdge is None:\n",
    "        continue\n",
    "    for edge in neuronT.edges:\n",
    "\n",
    "        if edge.maxDepth>neuronT.rootAxonEdge.maxDepth*0.3:\n",
    "            edge.order=0\n",
    "            mainbranch.append(edge)\n",
    "    for edge in mainbranch:\n",
    "        for child in edge.children:\n",
    "            if child.order!=0:\n",
    "                NeuronProcess.OrderChildren(neuronT,child,1)\n",
    "        pass\n",
    "    # for child in neuronT.rootAxonEdge.children:\n",
    "    # \t# if child.order!=0:\n",
    "    # \t\tNeuronProcess.OrderChildren(neuronT,child,1)\n",
    "\n",
    "    for edge in mainbranch:\n",
    "        for child in edge.children:\n",
    "            if child.order!=0:\n",
    "                GetFirstOrderEdges(terminalArbor,child)\n",
    "    if neuron==neuronList2[1]:\n",
    "        newneuron=SwcLoader.NeuronTree()\n",
    "        if len(mainbranch):\n",
    "            newneuron.edges= terminalArbor\n",
    "            newneuron.rootAxonEdge = neuronT.rootAxonEdge\n",
    "            newneuron.root=neuronT.root\n",
    "        neuronvis.addNeuronTree(newneuron,'neuronname',depthIntensity=False)\n",
    "        neuronvis.render.run()\n",
    "    neuronArbor[neuron]=terminalArbor\n",
    "    neuronTrunk[neuron]=mainbranch\n",
    "    neuronALLproj[neuron]=neuronProperty"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'221244001': {'AHN': 160.988251,\n",
       "  'AMd': 350.769318,\n",
       "  'APN': 917.693787,\n",
       "  'AV': 184.142334,\n",
       "  'CB': 1177.107422,\n",
       "  'CENT2': 307.227173,\n",
       "  'CENT3': 155.310333,\n",
       "  'CL': 3672.156982,\n",
       "  'CLI': 1005.76825,\n",
       "  'CM': 2714.727295,\n",
       "  'CUN': 581.51178,\n",
       "  'DR': 709.65625,\n",
       "  'GRN': 2870.388672,\n",
       "  'HY': 2334.481445,\n",
       "  'IAD': 1735.210815,\n",
       "  'IAM': 1239.355469,\n",
       "  'IF': 1274.832642,\n",
       "  'IMD': 313.665314,\n",
       "  'IO': 2611.341553,\n",
       "  'IRN': 12067.628906,\n",
       "  'IVn': 118.280243,\n",
       "  'KF': 157.532974,\n",
       "  'LDT': 601.087158,\n",
       "  'LHA': 3298.28125,\n",
       "  'LP': 891.585083,\n",
       "  'LRNm': 1109.933105,\n",
       "  'LRNp': 317.330475,\n",
       "  'MARN': 5408.510742,\n",
       "  'MB': 5326,\n",
       "  'MD': 9343.647461,\n",
       "  'MDRNd': 4256.550293,\n",
       "  'MDRNv': 219.927505,\n",
       "  'MRN': 15161.561523,\n",
       "  'MV': 434.284424,\n",
       "  'MY': 6440.160645,\n",
       "  'NI': 212.018448,\n",
       "  'NLL': 305.943451,\n",
       "  'NPC': 1252.129395,\n",
       "  'P': 5820.613281,\n",
       "  'P5': 2076.713623,\n",
       "  'PAG': 27361.638672,\n",
       "  'PAL': 163.313629,\n",
       "  'PARN': 1529.187866,\n",
       "  'PB': 9492.603516,\n",
       "  'PCG': 1907.251831,\n",
       "  'PCN': 7247.194336,\n",
       "  'PF': 10.230187,\n",
       "  'PGRNd': 245.79509,\n",
       "  'PGRNl': 7040.747559,\n",
       "  'PH': 177.362976,\n",
       "  'POR': 158.061356,\n",
       "  'PPN': 1472.920654,\n",
       "  'PPY': 304.284088,\n",
       "  'PR': 191.197968,\n",
       "  'PRC': 975.132507,\n",
       "  'PRNc': 9087.196289,\n",
       "  'PRNr': 5089.453613,\n",
       "  'PRP': 51.135323,\n",
       "  'PT': 186.885544,\n",
       "  'PVHd': 1668.983521,\n",
       "  'RE': 914.622192,\n",
       "  'RH': 1434.224487,\n",
       "  'RM': 237.525711,\n",
       "  'RO': 18.976177,\n",
       "  'RPF': 403.524323,\n",
       "  'RR': 939.941772,\n",
       "  'SAG': 382.891022,\n",
       "  'SCdg': 1161.907959,\n",
       "  'SCdw': 878.166992,\n",
       "  'SCiw': 211.635986,\n",
       "  'SI': 128.506088,\n",
       "  'SLC': 961.818176,\n",
       "  'SLD': 1006.542603,\n",
       "  'SMT': 55.697598,\n",
       "  'SNr': 892.600342,\n",
       "  'SOCl': 563.736755,\n",
       "  'SOCm': 145.936905,\n",
       "  'SPA': 933.401978,\n",
       "  'SPFp': 1805.112183,\n",
       "  'SPVC': 219.840744,\n",
       "  'STN': 704.158508,\n",
       "  'SUT': 3417.123291,\n",
       "  'TH': 1771.838257,\n",
       "  'VAL': 163.193939,\n",
       "  'VII': 3546.712891,\n",
       "  'VPL': 224.794434,\n",
       "  'VPMpc': 1295.363281,\n",
       "  'VTA': 640.17395,\n",
       "  'XII': 80.620125,\n",
       "  'ZI': 6428.612793,\n",
       "  'arb': 122.20639,\n",
       "  'fibertracts': 55.586346,\n",
       "  'int': 667.511047,\n",
       "  'll': 888.402405,\n",
       "  'ml': 525.895081,\n",
       "  'nst': 48.014614,\n",
       "  'pc': 449.57489,\n",
       "  'rust': 1517.157959,\n",
       "  'scp': 358.232147,\n",
       "  'sctv': 570.306458,\n",
       "  'tb': 64.947266,\n",
       "  'unknow': 17844.527344},\n",
       " '221244002': {'AHN': 260.413544,\n",
       "  'APN': 2555.528564,\n",
       "  'CUN': 505.181763,\n",
       "  'HY': 1585.883911,\n",
       "  'INC': 244.717194,\n",
       "  'IO': 598.540039,\n",
       "  'IRN': 13.052967,\n",
       "  'LHA': 1126.355957,\n",
       "  'MB': 8973.000977,\n",
       "  'MDRNv': 456.601196,\n",
       "  'MRN': 18880.576172,\n",
       "  'MY': 1215.358398,\n",
       "  'NTB': 404.4133,\n",
       "  'P': 947.759155,\n",
       "  'P5': 155.726425,\n",
       "  'PAG': 8388.478516,\n",
       "  'PAL': 32.515152,\n",
       "  'PH': 402.298401,\n",
       "  'POL': 6.956611,\n",
       "  'PPY': 1005.070679,\n",
       "  'PRNc': 1434.936401,\n",
       "  'PRNr': 4870.950684,\n",
       "  'PeF': 441.513062,\n",
       "  'RN': 5118.680176,\n",
       "  'RR': 1164.574097,\n",
       "  'RT': 52.861431,\n",
       "  'SCdg': 3172.512207,\n",
       "  'SCdw': 1726.473999,\n",
       "  'SCig': 120.052132,\n",
       "  'SCiw': 1536.240845,\n",
       "  'SPFm': 426.828796,\n",
       "  'SPFp': 94.61805,\n",
       "  'STN': 271.338531,\n",
       "  'TH': 63.304283,\n",
       "  'TRN': 707.017334,\n",
       "  'VM': 571.637878,\n",
       "  'VTA': 381.208466,\n",
       "  'ZI': 11813.283203,\n",
       "  'fr': 44.878441,\n",
       "  'int': 301.125214,\n",
       "  'ml': 347.412079,\n",
       "  'tb': 320.74353,\n",
       "  'unknow': 4030.361572},\n",
       " '221245001': {'B': 431.617737,\n",
       "  'CB': 149.832886,\n",
       "  'CUL4,5': 30.52858,\n",
       "  'DCO': 32.879574,\n",
       "  'ECU': 344.286072,\n",
       "  'GRN': 719.801208,\n",
       "  'ICc': 70.011803,\n",
       "  'ICd': 1403.40625,\n",
       "  'ICe': 8999.272461,\n",
       "  'IO': 1573.911133,\n",
       "  'IVn': 82.288841,\n",
       "  'KF': 223.716934,\n",
       "  'LAV': 85.474922,\n",
       "  'LC': 20.501507,\n",
       "  'LRNp': 27.2108,\n",
       "  'MARN': 4578.063477,\n",
       "  'MB': 4793.477539,\n",
       "  'MDRNv': 198.427765,\n",
       "  'MEV': 173.707153,\n",
       "  'MRN': 1507.998657,\n",
       "  'MV': 125.224342,\n",
       "  'MY': 12878.21582,\n",
       "  'NB': 418.038544,\n",
       "  'NLL': 5757.072266,\n",
       "  'NTB': 298.141327,\n",
       "  'P': 2758.008789,\n",
       "  'P5': 16.636463,\n",
       "  'PAG': 8696.048828,\n",
       "  'PB': 239.716354,\n",
       "  'PCG': 909.632141,\n",
       "  'PG': 802.803894,\n",
       "  'PGRNl': 921.578674,\n",
       "  'PIL': 1159.299316,\n",
       "  'POR': 3016.666016,\n",
       "  'PPY': 819.532959,\n",
       "  'PRNc': 3848.05835,\n",
       "  'PRNr': 353.716705,\n",
       "  'PoT': 2.291328,\n",
       "  'RM': 598.700195,\n",
       "  'RPF': 627.821716,\n",
       "  'RR': 365.679016,\n",
       "  'RT': 311.400421,\n",
       "  'SCig': 81.186661,\n",
       "  'SCop': 18.076166,\n",
       "  'SLC': 330.713226,\n",
       "  'SLD': 117.800766,\n",
       "  'SOCl': 682.944763,\n",
       "  'SOCm': 399.368713,\n",
       "  'SPIV': 334.820374,\n",
       "  'SUT': 2013.086548,\n",
       "  'TH': 747.627258,\n",
       "  'UVU': 779.972595,\n",
       "  'V4r': 309.644104,\n",
       "  'VCO': 1216.431274,\n",
       "  'VII': 106.585701,\n",
       "  'ZI': 4326.549316,\n",
       "  'ar': 12.755253,\n",
       "  'arb': 121.044228,\n",
       "  'fibertracts': 270.490295,\n",
       "  'icp': 290.368622,\n",
       "  'int': 318.958069,\n",
       "  'll': 3531.419678,\n",
       "  'ml': 295.048798,\n",
       "  'root': 394.874542,\n",
       "  'rust': 442.094513,\n",
       "  'sctv': 409.315521,\n",
       "  'tb': 86.195328,\n",
       "  'unknow': 10077.137695,\n",
       "  'vVIIIn': 301.281616},\n",
       " '221245002': {'Acs5': 176.190384,\n",
       "  'CB': 1334.24939,\n",
       "  'COPY': 14.130261,\n",
       "  'CP': 912.233276,\n",
       "  'DN': 477.607483,\n",
       "  'GPe': 307.628784,\n",
       "  'GRN': 6075.415527,\n",
       "  'ICd': 444.830902,\n",
       "  'ICe': 12989.886719,\n",
       "  'IO': 3375.242676,\n",
       "  'IP': 395.111633,\n",
       "  'IRN': 2652.510498,\n",
       "  'IVn': 201.737289,\n",
       "  'LAV': 363.583557,\n",
       "  'LDT': 713.027283,\n",
       "  'LRNm': 125.680328,\n",
       "  'MARN': 2886.360596,\n",
       "  'MB': 2998.520264,\n",
       "  'MDRNv': 1893.875366,\n",
       "  'MGm': 815.427368,\n",
       "  'MRN': 1475.032959,\n",
       "  'MV': 3041.272949,\n",
       "  'MY': 14895.885742,\n",
       "  'NLL': 6815.729004,\n",
       "  'P': 5490.169434,\n",
       "  'P5': 975.089355,\n",
       "  'PAG': 1350.293823,\n",
       "  'PARN': 964.622742,\n",
       "  'PB': 1001.637085,\n",
       "  'PCG': 1554.095825,\n",
       "  'PG': 475.002869,\n",
       "  'PGRNd': 476.852814,\n",
       "  'PGRNl': 1436.819702,\n",
       "  'PIL': 498.034119,\n",
       "  'POL': 444.069733,\n",
       "  'POR': 5022.425781,\n",
       "  'PP': 531.665344,\n",
       "  'PPN': 71.066048,\n",
       "  'PPY': 1664.432861,\n",
       "  'PRNc': 3069.535645,\n",
       "  'PRNr': 1332.82959,\n",
       "  'PRP': 23.365582,\n",
       "  'PoT': 307.277679,\n",
       "  'RM': 247.594894,\n",
       "  'RO': 265.360382,\n",
       "  'RT': 204.462509,\n",
       "  'SCdg': 476.944733,\n",
       "  'SCdw': 124.231125,\n",
       "  'SCiw': 1573.744995,\n",
       "  'SG': 171.654663,\n",
       "  'SLC': 252.188019,\n",
       "  'SLD': 162.950699,\n",
       "  'SOCl': 2800.379639,\n",
       "  'SPIV': 884.155151,\n",
       "  'SSp-bfd6a': 986.14093,\n",
       "  'SSp-bfd6b': 399.224304,\n",
       "  'SSp-un6a': 134.19278,\n",
       "  'SSp-un6b': 61.154888,\n",
       "  'SSs6a': 494.155365,\n",
       "  'SSs6b': 1803.350952,\n",
       "  'STR': 14.5778,\n",
       "  'SUT': 1463.253296,\n",
       "  'SUV': 878.98822,\n",
       "  'TH': 1447.795288,\n",
       "  'V': 533.356201,\n",
       "  'VI': 345.228027,\n",
       "  'VII': 300.075043,\n",
       "  'VIIn': 143.805634,\n",
       "  'VISC6a': 435.866119,\n",
       "  'VPL': 578.225281,\n",
       "  'ZI': 573.566345,\n",
       "  'ar': 40.219597,\n",
       "  'ccb': 127.591766,\n",
       "  'das': 26.629932,\n",
       "  'em': 29.011204,\n",
       "  'fibertracts': 19.851654,\n",
       "  'int': 617.406921,\n",
       "  'll': 4204.951172,\n",
       "  'ml': 410.949188,\n",
       "  'root': 354.218262,\n",
       "  'rust': 367.177338,\n",
       "  'scp': 743.649719,\n",
       "  'sctv': 866.155884,\n",
       "  'scwm': 39.344444,\n",
       "  'tb': 482.171295,\n",
       "  'tspc': 1301.036987,\n",
       "  'unknow': 15623.967773},\n",
       " '221250002': {'Acs5': 107.859154,\n",
       "  'CB': 747.193054,\n",
       "  'CUN': 977.742126,\n",
       "  'DMX': 190.507477,\n",
       "  'GRN': 105.479721,\n",
       "  'HY': 82.803635,\n",
       "  'ICd': 3692.429199,\n",
       "  'ICe': 34738.203125,\n",
       "  'IO': 1122.199585,\n",
       "  'MARN': 1136.96582,\n",
       "  'MB': 14358.508789,\n",
       "  'MD': 224.904327,\n",
       "  'MDRNv': 546.720947,\n",
       "  'MGm': 111.110001,\n",
       "  'MRN': 6954.110352,\n",
       "  'MV': 2565.913574,\n",
       "  'MY': 4124.917969,\n",
       "  'NLL': 2272.677734,\n",
       "  'NTB': 154.669312,\n",
       "  'NTS': 255.281616,\n",
       "  'P': 6303.203125,\n",
       "  'P5': 747.415039,\n",
       "  'PAG': 6547.294922,\n",
       "  'PB': 1411.339478,\n",
       "  'PCN': 46.175602,\n",
       "  'PF': 401.681488,\n",
       "  'PIL': 2456.049072,\n",
       "  'POR': 2723.987061,\n",
       "  'PP': 561.344116,\n",
       "  'PPN': 3620.708252,\n",
       "  'PRNc': 1928.451782,\n",
       "  'PRNr': 672.542297,\n",
       "  'PRP': 733.250427,\n",
       "  'PoT': 316.496307,\n",
       "  'RN': 322.556763,\n",
       "  'SAG': 275.543732,\n",
       "  'SCdg': 4909.658691,\n",
       "  'SCdw': 279.162201,\n",
       "  'SCig': 2115.942139,\n",
       "  'SCiw': 626.90332,\n",
       "  'SCop': 1486.679199,\n",
       "  'SCsg': 117.353058,\n",
       "  'SCzo': 182.583481,\n",
       "  'SNr': 693.470581,\n",
       "  'SOCl': 841.151367,\n",
       "  'SOCm': 762.759216,\n",
       "  'SUT': 1436.934326,\n",
       "  'TH': 1107.774902,\n",
       "  'VPL': 4569.203125,\n",
       "  'VeCB': 471.369843,\n",
       "  'XII': 922.729919,\n",
       "  'ZI': 5735.005371,\n",
       "  'ar': 98.258591,\n",
       "  'bic': 1013.08136,\n",
       "  'cpd': 453.990204,\n",
       "  'em': 455.246033,\n",
       "  'll': 4761.152344,\n",
       "  'mcp': 1860.050415,\n",
       "  'pc': 44.12159,\n",
       "  'root': 378.490234,\n",
       "  'rust': 487.126495,\n",
       "  'scp': 128.725967,\n",
       "  'tb': 191.608566,\n",
       "  'unknow': 4903.973145},\n",
       " '221250003': {'CU': 2630.382324,\n",
       "  'ECU': 2163.469482,\n",
       "  'IO': 212.201004,\n",
       "  'MY': 3741.417969,\n",
       "  'SPIV': 5321.500488,\n",
       "  'SPVC': 212.319885,\n",
       "  'SPVI': 1725.088989,\n",
       "  'SPVO': 653.63916,\n",
       "  'UVU': 1216.98291,\n",
       "  'arb': 106.269653,\n",
       "  'py': 599.667297,\n",
       "  'root': 493.274139,\n",
       "  'tspc': 422.207886,\n",
       "  'unknow': 8211.866211,\n",
       "  'x': 759.630066},\n",
       " '221250004': {'CB': 6060.39209,\n",
       "  'CENT2': 77.47052,\n",
       "  'CENT3': 394.289429,\n",
       "  'CUL4,5': 4475.645996,\n",
       "  'DEC': 3563.006836,\n",
       "  'FN': 3065.722168,\n",
       "  'ICB': 145.614288,\n",
       "  'IP': 1076.689331,\n",
       "  'LAV': 4458.369141,\n",
       "  'MDRNd': 212.488831,\n",
       "  'MV': 7.122065,\n",
       "  'MY': 4712.085449,\n",
       "  'PYR': 997.413269,\n",
       "  'SPVC': 638.37085,\n",
       "  'SUV': 1036.899414,\n",
       "  'VeCB': 1462.740479,\n",
       "  'arb': 19585.566406,\n",
       "  'cbc': 503.368073,\n",
       "  'icp': 2559.315186,\n",
       "  'rust': 521.946594,\n",
       "  'scp': 751.152039,\n",
       "  'sctd': 2742.289551,\n",
       "  'sptV': 2147.828369,\n",
       "  'uf': 1388.589478,\n",
       "  'unknow': 7648.547363,\n",
       "  'vVIIIn': 167.221725,\n",
       "  'x': 571.835571},\n",
       " '221250005': {'CUN': 361.023621,\n",
       "  'GR': 676.633545,\n",
       "  'ICc': 166.940094,\n",
       "  'ICd': 5559.351562,\n",
       "  'ICe': 5655.791016,\n",
       "  'IO': 1944.676758,\n",
       "  'IVn': 110.829582,\n",
       "  'MB': 5988.359375,\n",
       "  'MDRNv': 584.850342,\n",
       "  'MRN': 3861.911133,\n",
       "  'MV': 260.184601,\n",
       "  'MY': 2641.085449,\n",
       "  'NLL': 80.834602,\n",
       "  'NTB': 1807.433716,\n",
       "  'NTS': 333.143707,\n",
       "  'P': 4939.849609,\n",
       "  'PAG': 360.455048,\n",
       "  'PAS': 202.297272,\n",
       "  'PB': 471.460754,\n",
       "  'PG': 56.588348,\n",
       "  'PGRNl': 481.895172,\n",
       "  'PIL': 2378.802246,\n",
       "  'POR': 311.480682,\n",
       "  'PP': 663.240845,\n",
       "  'PPN': 865.184448,\n",
       "  'PPY': 531.585205,\n",
       "  'PRNr': 144.648621,\n",
       "  'RT': 8.743228,\n",
       "  'SAG': 867.960754,\n",
       "  'SCdg': 173.516281,\n",
       "  'SCig': 8.100776,\n",
       "  'SNr': 1531.664185,\n",
       "  'SOCl': 48.080521,\n",
       "  'SPIV': 2885.128662,\n",
       "  'TH': 678.214539,\n",
       "  'TRN': 37.609978,\n",
       "  'UVU': 961.759033,\n",
       "  'VII': 868.696838,\n",
       "  'VPL': 6907.494629,\n",
       "  'ZI': 5305.359375,\n",
       "  'cpd': 205.496964,\n",
       "  'em': 299.694366,\n",
       "  'll': 1003.702698,\n",
       "  'root': 652.51123,\n",
       "  'rust': 395.23111,\n",
       "  'ts': 312.345581,\n",
       "  'unknow': 6086.868652},\n",
       " '221248001': {'IRN': 16.141462,\n",
       "  'KF': 1354.81958,\n",
       "  'LRNm': 1911.356079,\n",
       "  'LRNp': 793.676025,\n",
       "  'MDRNd': 375.32962,\n",
       "  'MY': 947.420105,\n",
       "  'P': 1491.906738,\n",
       "  'PB': 301.611633,\n",
       "  'PSV': 2185.25293,\n",
       "  'SPVC': 62.754921,\n",
       "  'SUT': 9.751941,\n",
       "  'VII': 301.578918,\n",
       "  'arb': 1.961346,\n",
       "  'rust': 2015.098267,\n",
       "  'sV': 12.680376,\n",
       "  'sctd': 641.381042,\n",
       "  'sctv': 114.522865,\n",
       "  'sptV': 130.536316,\n",
       "  'unknow': 4546.52832}}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "neuronALLproj"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "res,path = iondata.getFileFromServer(\"annotation_10_2017.nrrd\")\n",
    "import nrrd\n",
    "annotation,header = nrrd.read(path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0: 11013.553348004818, 1048: 1697.4631567001343, 978: 5254.821646690369, 354: 6008.434302985668, 136: 7045.006965458393, 1093: 5907.804060935974, 105: 151.53273737430573, 771: 4431.19601303339, 114: 578.5321680307388, 122: 148.60110712051392, 841: 67.02733892202377, 146: 4597.225560367107, 658: 490.22748523950577, 612: 314.649387717247, 867: 7179.582758784294, 616: 120.80326747894287, 313: 4091.070629119873, 534: 1608.4325205683708, 898: 1742.4725873470306, 162: 616.1634697914124, 795: 19925.515229970217, 326: 266.3205554485321, 128: 8417.698451042175, 271: 373.9943361878395, 381: 860.7451680898666, 1097: 2321.3437736034393, 797: 6431.793725520372, 470: 669.0199412107468, 102: 39.187519669532776, 946: 159.70028030872345, 194: 3313.412907600403, 88: 166.13028478622437, 803: 208.3815302848816, 63: 1641.2708702087402, 1009: 55.8569039106369, 6: 648.2409416437149, 342: 134.76462352275848, 718: 298.49417293071747, 549: 1336.5437324047089, 422: 1791.8918669223785, 741: 1350.0832936167717, 930: 16.362375497817993, 362: 8868.610681355, 907: 6100.906865924597, 599: 1710.5632203817368, 1120: 1434.3784564733505, 189: 1303.6163620352745, 609: 279.21381318569183, 181: 907.7159259319305, 1077: 221.26920664310455, 215: 801.6720283031464, 17: 223.1849341392517, 575: 2782.4951269626617, 634: 682.4017153978348, 629: 161.4603329896927, 1096: 336.7128657102585, 1113: 1147.1710257530212, 15: 33.85203105211258, 42: 865.5139710903168, 26: 1212.6250156760216, 512: 853.7744856476784, 728: 95.4156414270401, 866: 512.1627542972565, 976: 21.504723966121674, 984: 150.13444817066193, 1052: 447.0657570362091, 911: 33.82044845819473, 246: 940.1320987939835, 749: 567.6265885829926, 697: 551.3458228111267, 872: 696.6833310127258, 591: 1019.6980700492859, 12: 1259.1923823952675, 350: 640.168989777565, 358: 734.3619220852852, 604: 197.25499641895294, 549009215: 608.6228738427162, 202: 40.94374072551727, 158: 237.54251623153687, 50: 641.7215605974197, 123: 157.53445279598236, 661: 3267.727381527424, 852: 1682.4383635520935, 863: 1494.8658491373062, 1069: 17.5181006193161, 307: 1827.032525897026, 83: 1350.0738561749458, 206: 121.33403301239014, 1098: 2652.4027639627457, 955: 1076.3343546390533, 963: 297.6496502161026, 773: 43.39374601840973, 970: 248.9150072336197, 429: 232.09819650650024}\n",
      "{1093: 971.1833720207214, 128: 7711.837202429771, 749: 211.02168136835098, 313: 5341.379527717829, 214: 3090.4174250364304, 797: 4437.620736479759, 549: 33.817466139793396, 414: 456.3503487110138, 1097: 174.92117321491241, 946: 363.7765843272209, 67: 258.67142367362976, 795: 3868.0317746400833, 17: 1647.5893413126469, 26: 2815.4880485236645, 42: 1467.553272843361, 215: 2598.611493140459, 1029: 30.3569655418396, 616: 504.36969792842865, 6: 237.35391879081726, 576073704: 45.279720067977905, 194: 685.9811297655106, 246: 196.8665153980255, 10: 130.01932799816132, 146: 1984.8396853804588, 549009215: 183.25146806240082, 771: 500.76043277978897}\n",
      "{0: 1167.273160994053, 354: 6273.474112093449, 83: 779.6195269823074, 612: 3917.6689788103104, 828: 5027.732584297657, 820: 1139.6037955284119, 313: 2597.2667070031166, 10: 177.34830164909363, 851: 72.08519732952118, 128: 1496.5792917013168, 246: 378.86687791347504, 549: 502.2537956237793, 563807435: 9.1930832862854, 560581563: 265.8267718553543, 797: 2343.767486333847, 1009: 120.21988797187805, 262: 7.135000586509705, 811: 68.42709016799927, 795: 7294.0746493041515, 549009203: 633.8632810115814, 658: 215.2414728999138, 771: 1084.4215508699417, 534: 957.0056911706924, 147: 1.700371265411377, 898: 607.9862698018551, 280: 139.95887672901154, 460: 155.39931786060333, 911: 59.8335143327713, 512: 176.47121834754944, 867: 115.26212084293365, 1093: 2643.468272447586, 642: 293.48721569776535, 841: 81.03313720226288, 105: 332.4023507833481, 114: 639.8893650770187, 122: 1337.3274803757668, 866: 431.1590359210968, 661: 102.92135441303253, 307: 1927.4641861319542, 1069: 612.6196690201759, 978: 590.0876359939575, 206: 121.15589106082916, 1048: 708.0765253305435, 863: 464.7645888328552, 101: 1165.0538845658302}\n",
      "{0: 9681.462982296944, 354: 8956.240318894386, 83: 2927.0561685562134, 222: 146.7869007587433, 307: 2696.830838382244, 1107: 1887.1623811721802, 1048: 3521.34239256382, 1043: 689.1601068377495, 866: 606.4546278715134, 863: 425.50147384405136, 955: 131.62770438194275, 122: 2884.624176234007, 841: 312.1965116262436, 771: 4550.124616444111, 114: 2368.1128439307213, 612: 5455.1011699438095, 658: 2052.5731390714645, 534: 1415.7975528240204, 867: 977.4993430376053, 146: 1385.152594447136, 1093: 2224.517351448536, 653: 332.1668072938919, 898: 1587.240196466446, 318: 176.33527040481567, 202: 3117.0223093628883, 852: 927.0004539489746, 512: 1254.058393895626, 589508455: 2.477588415145874, 217: 1019.288347184658, 931: 35.05152082443237, 549009219: 154.2021416425705, 549009215: 991.4333501458168, 91: 352.9387000799179, 846: 491.75054746866226, 350: 234.63070899248123, 358: 168.00260865688324, 162: 721.2404446601868, 128: 1033.0675237178802, 326: 742.8997247219086, 1052: 99.9132022857666, 313: 988.8552942276001, 911: 214.93165946006775, 795: 1362.2448835968971, 997: 102.7121993303299, 828: 6614.640364527702, 549: 952.0745928287506, 563807435: 111.14967799186707, 1088: 142.98352754116058, 560581563: 536.5637108683586, 797: 456.4775255918503, 1044: 437.089204788208, 893: 1008.5120047330856, 484682512: 12.299829602241516, 1062: 287.9473658800125, 1038: 1104.1120572686195, 182305709: 167.5395896434784, 182305713: 34.78785419464111, 862: 504.39342069625854, 857: 427.5152838230133, 820: 444.63785886764526, 17: 1619.5923946499825, 26: 470.1808182001114, 42: 108.57630002498627, 136: 2479.563708126545, 1069: 1267.1335867643356, 978: 1435.048070013523, 970: 462.0924072265625, 169: 69.89994585514069, 225: 837.5599113106728, 209: 357.87195444107056, 661: 273.72144532203674, 206: 156.3265974521637, 697: 154.8637956380844, 798: 127.91712886095047, 621: 498.00288993120193}\n",
      "{354: 375.6170310974121, 169: 793.519164443016, 202: 2507.1164197325706, 651: 73.34857654571533, 122: 835.7623772621155, 771: 2388.2581266760826, 114: 676.6778566837311, 612: 1096.2148625850677, 658: 1117.3709256649017, 1093: 398.2119081020355, 549009219: 125.72827184200287, 350: 3.422093152999878, 512: 406.4345928430557, 589508455: 497.7928447127342, 828: 15533.757454037666, 820: 2073.4932656288147, 313: 6037.294687509537, 26: 729.6746260523796, 128: 2814.3737783432007, 549: 835.9180440306664, 560581563: 1363.5069016218185, 1044: 471.6703389286995, 1088: 134.26264011859894, 797: 4155.57901853323, 718: 4680.73044782877, 381: 640.8579902648926, 1092: 451.82095700502396, 484682524: 104.41122543811798, 0: 12.673159420490265, 795: 5122.327237159014, 863: 274.88533997535706, 146: 542.9874083399773, 1052: 1540.1553469002247, 158: 95.7137805223465, 534: 297.5417452454567, 867: 837.8835058808327, 616: 74.834028840065, 105: 248.99400126934052, 482: 1082.9083526730537}\n",
      "{445: 453.20504903793335, 765: 550.5385722517967, 354: 620.3708417415619, 903: 1380.5631400346756, 225: 2075.990106999874, 711: 1294.836940407753, 997: 340.56470477581024, 957: 1224.2670462727547, 0: 3554.373349249363, 728: 124.01687288284302, 1043: 416.4183670282364, 83: 79.3732140660286}\n",
      "{0: 875.557403087616, 512: 2791.8818699121475, 989: 2206.3979560136795, 728: 4829.794379293919, 1091: 2007.517818748951, 936: 3649.458531498909, 951: 992.809070110321, 850: 277.04600393772125, 326: 109.95542150735855, 354: 1220.9618237018585, 589508455: 939.3753356933594, 91: 660.5620505809784, 553: 257.7846875190735, 863: 360.78085708618164, 1098: 220.7422832250595, 429: 65.3688702583313, 794: 889.8355040550232, 765: 590.154353260994, 209: 2586.233555793762, 217: 190.6384071111679, 372: 48.67931592464447, 506: 6.381632089614868, 1123: 24.836479783058167}\n",
      "{83: 620.3329750299454, 354: 670.000262260437, 978: 476.3508868217468, 1069: 525.9457248449326, 661: 854.0910252332687, 114: 46.2517956495285, 771: 2146.734568476677, 931: 165.51878488063812, 146: 75.12102091312408, 863: 396.9652783870697, 658: 435.09624421596527, 612: 51.53052890300751, 313: 2115.1552151441574, 616: 467.4758450984955, 867: 466.3112251162529, 795: 381.22393584251404, 911: 109.4234071969986, 271: 91.2289127111435, 128: 1333.081792831421, 26: 179.87878704071045, 924: 71.36349040269852, 381: 1546.9378791451454, 560581563: 1053.5186378359795, 1044: 370.33354514837265, 549: 289.8346258401871, 797: 3915.631963610649, 718: 7103.430301904678, 1092: 266.1559897661209, 262: 5.575332045555115, 828: 3781.028177678585, 820: 3013.6137394309044, 642: 665.8234521150589, 574: 54.12353432178497, 0: 965.786130964756, 957: 50.94397270679474, 1039: 294.811231136322, 651: 333.9463744163513, 237: 302.0729441642761, 202: 176.43949341773987, 225: 1042.1032534837723}\n",
      "{354: 162.14413732290268, 1098: 406.42938882112503, 863: 111.94043290615082, 955: 1029.414322078228, 963: 132.88689577579498, 123: 1334.6747714281082, 771: 156.88190990686417, 7: 141.33570915460587, 867: 202.61143565177917, 136: 13.495429515838623}\n"
     ]
    }
   ],
   "source": [
    "\n",
    "neuronArborLen={}\n",
    "for neuron ,trunk in neuronArbor.items():\n",
    "    trunkLength={}\n",
    "    # for c in range(5):\n",
    "    #     trunkLength[c]={}\n",
    "    lenMap ={}\n",
    "    for i in range(len(trunk)):\n",
    "        edge=trunk[i]\n",
    "        for j in range(len(edge.data)-1):\n",
    "            p = edge.data[j]\n",
    "            if int(p.x/10)<annotation.shape[0]:\n",
    "                region = int(annotation[int(p.x/10),int(p.y/10),int(p.z/10)])\n",
    "            else:\n",
    "                region=0\n",
    "            length = np.linalg.norm(np.array(edge.data[j].xyz)-np.array(edge.data[j+1].xyz))\n",
    "            if region not in lenMap.keys():\n",
    "                lenMap[region]=0\n",
    "            lenMap[region]+=length\n",
    "    print(lenMap)\n",
    "    neuronArborLen[neuron]=lenMap\n",
    "        # for k,v in lenMap.items():\n",
    "        #     trunkLength[edge.maxDepth][k]+=v"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[3267.727381527424, 0, 1373.984004855156, 778.4833097457886, 7337.1172115802765, 314.649387717247, 2652.4027639627457, 5503.736653923988, 1350.0738561749458, 17.5181006193161, 0, 1648.5774665474892, 0, 0, 6431.793725520372, 0]\n",
      "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4437.620736479759, 0]\n",
      "[102.92135441303253, 293.48721569776535, 0, 431.1590359210968, 115.26212084293365, 3917.6689788103104, 0, 590.0876359939575, 779.6195269823074, 612.6196690201759, 0, 0, 0, 0, 2343.767486333847, 265.8267718553543]\n",
      "[273.72144532203674, 0, 131.62770438194275, 1349.354352593422, 977.4993430376053, 5455.1011699438095, 1887.1623811721802, 1897.1404772400856, 2927.0561685562134, 1267.1335867643356, 0, 0, 0, 0, 456.4775255918503, 536.5637108683586]\n",
      "[0, 0, 0, 0, 837.8835058808327, 1096.2148625850677, 0, 0, 0, 0, 0, 4680.73044782877, 0, 0, 4155.57901853323, 1363.5069016218185]\n",
      "[0, 0, 0, 0, 0, 0, 0, 0, 79.3732140660286, 0, 550.5385722517967, 0, 0, 1380.5631400346756, 0, 0]\n",
      "[0, 0, 0, 387.0014254450798, 0, 0, 220.7422832250595, 0, 0, 0, 590.154353260994, 0, 0, 0, 0, 0]\n",
      "[854.0910252332687, 665.8234521150589, 0, 0, 466.3112251162529, 51.53052890300751, 0, 476.3508868217468, 620.3329750299454, 525.9457248449326, 0, 7103.430301904678, 294.811231136322, 0, 3915.631963610649, 1053.5186378359795]\n",
      "[0, 0, 1162.301217854023, 0, 1537.2862070798874, 0, 406.42938882112503, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 400x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import BrainRegion as BR \n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "fig,ax = plt.subplots(figsize=(4,8))\n",
    "\n",
    "targetRegions=['VII','NTB','LRN','scp','PB','NLL','MDRN','PGRN','IO','PPY','x','VP','GR','ECU','ZI','PIL']\n",
    "neuronProject=[]\n",
    "for neuron ,arborLen in neuronArborLen.items():\n",
    "    # print(arborLen)\n",
    "    br = BR.BrainRegion()\n",
    "    br.praseJson()\n",
    "    brproperty=BR.RegionProperty(copy.deepcopy(br))\n",
    "    brproperty.setProperty(arborLen)\n",
    "    regionProj=[]\n",
    "    for targetRegion in targetRegions:\n",
    "        regionsum = brproperty.getSumProperty(targetRegion)\n",
    "        regionProj.append(regionsum)\n",
    "    print(regionProj)\n",
    "    neuronProject.append(regionProj)\n",
    "sns.heatmap(pd.DataFrame(neuronProject,index=list(neuronArborLen.keys()),columns=targetRegions).T)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## all project - trunk"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0: 6011.34566795826, 136: 4785.110102266073, 1107: 143.80616450309753, 1048: 424.19808822870255, 1093: 2489.8002989292145, 658: 385.28875946998596, 146: 419.5125341415405, 549009215: 875.7922857105732, 534: 1318.6045508384705, 867: 2050.8929421305656, 771: 1325.93483543396, 1052: 930.3390047550201, 128: 5486.243067622185, 313: 1241.81682908535, 634: 526.8888853788376, 795: 4860.525848686695, 609: 628.3072876930237, 59: 309.5343037843704, 362: 158.10443997383118, 549009203: 321.1052550673485, 158: 135.75287401676178, 50: 324.80792224407196, 549: 324.15400993824005, 575: 500.5808836221695, 218: 832.8384230732918, 155: 49.31368792057037, 255: 216.32560634613037, 907: 341.2058244943619, 1113: 497.11600309610367, 599: 532.4585407972336, 15: 153.9056831598282, 616: 435.14076191186905, 512: 163.5995910167694, 350: 235.80497896671295, 202: 333.5710579752922, 358: 229.28373670578003, 898: 183.17982578277588, 911: 78.6517082452774, 976: 198.54950404167175, 661: 75.57291448116302, 978: 1498.7571696043015, 354: 491.6835390329361, 1069: 195.6556133031845, 307: 2469.2523434758186, 206: 115.26178801059723, 83: 700.7088758349419, 222: 26.942025661468506, 1098: 1174.6385915577412}\n",
      "[['unknow', 0, 17844.527344], ['PAL', 803, 163.313629], ['SI', 342, 128.506088], ['TH', 549, 1771.838257], ['VAL', 629, 163.193939], ['VPL', 718, 224.794434], ['VPMpc', 741, 1295.363281], ['SPFp', 422, 1805.112183], ['SPA', 609, 933.401978], ['LP', 218, 891.585083], ['AV', 255, 184.142334], ['AMd', 1096, 350.769318], ['IAM', 1120, 1239.355469], ['IAD', 1113, 1735.210815], ['IMD', 59, 313.665314], ['MD', 362, 9343.647461], ['SMT', 366, 55.697598], ['PR', 1077, 191.197968], ['PT', 15, 186.885544], ['RE', 181, 914.622192], ['RH', 189, 1434.224487], ['CM', 599, 2714.727295], ['PCN', 907, 7247.194336], ['CL', 575, 3672.156982], ['PF', 930, 10.230187], ['HY', 1097, 2334.481445], ['AHN', 88, 160.988251], ['PVHd', 63, 1668.983521], ['PH', 946, 177.362976], ['LHA', 194, 3298.28125], ['STN', 470, 704.158508], ['ZI', 797, 6428.612793], ['MB', 313, 5326], ['SAG', 271, 382.891022], ['SNr', 381, 892.600342], ['VTA', 749, 640.17395], ['RR', 246, 939.941772], ['MRN', 128, 15161.561523], ['SCdg', 26, 1161.907959], ['SCdw', 42, 878.166992], ['SCiw', 17, 211.635986], ['PAG', 795, 27361.638672], ['PRC', 50, 975.132507], ['APN', 215, 917.693787], ['NPC', 634, 1252.129395], ['RPF', 549009203, 403.524323], ['CUN', 616, 581.51178], ['PPN', 1052, 1472.920654], ['IF', 12, 1274.832642], ['CLI', 591, 1005.76825], ['DR', 872, 709.65625], ['P', 771, 5820.613281], ['NLL', 612, 305.943451], ['PB', 867, 9492.603516], ['KF', 123, 157.532974], ['POR', 122, 158.061356], ['SOCm', 105, 145.936905], ['SOCl', 114, 563.736755], ['PCG', 898, 1907.251831], ['PRNc', 1093, 9087.196289], ['SUT', 534, 3417.123291], ['P5', 549009215, 2076.713623], ['LDT', 162, 601.087158], ['NI', 604, 212.018448], ['PRNr', 146, 5089.453613], ['SLC', 350, 961.818176], ['SLD', 358, 1006.542603], ['MY', 354, 6440.160645], ['SPVC', 429, 219.840744], ['VII', 661, 3546.712891], ['GRN', 1048, 2870.388672], ['IO', 83, 2611.341553], ['IRN', 136, 12067.628906], ['LRNm', 955, 1109.933105], ['LRNp', 963, 317.330475], ['MARN', 307, 5408.510742], ['MDRNd', 1098, 4256.550293], ['MDRNv', 1107, 219.927505], ['PARN', 852, 1529.187866], ['PGRNd', 970, 245.79509], ['PGRNl', 978, 7040.747559], ['PRP', 169, 51.135323], ['PPY', 1069, 304.284088], ['MV', 202, 434.284424], ['XII', 773, 80.620125], ['RM', 206, 237.525711], ['RO', 222, 18.976177], ['CB', 512, 1177.107422], ['CENT2', 976, 307.227173], ['CENT3', 984, 155.310333], ['fibertracts', 1009, 55.586346], ['pc', 158, 449.57489], ['IVn', 911, 118.280243], ['tb', 841, 64.947266], ['ll', 658, 888.402405], ['ml', 697, 525.895081], ['scp', 326, 358.232147], ['sctv', 866, 570.306458], ['arb', 728, 122.20639], ['int', 6, 667.511047], ['nst', 102, 48.014614], ['rust', 863, 1517.157959], ['unknow', 0, 17844.527344]]\n",
      "[['unknow', 0, 11833.181676041739], ['PAL', 803, 163.313629], ['SI', 342, 128.506088], ['TH', 549, 1447.68424706176], ['VAL', 629, 163.193939], ['VPL', 718, 224.794434], ['VPMpc', 741, 1295.363281], ['SPFp', 422, 1805.112183], ['SPA', 609, 305.0946903069763], ['LP', 218, 58.746659926708276], ['AV', 255, -32.183272346130366], ['AMd', 1096, 350.769318], ['IAM', 1120, 1239.355469], ['IAD', 1113, 1238.0948119038962], ['IMD', 59, 4.131010215629601], ['MD', 362, 9185.54302102617], ['SMT', 366, 55.697598], ['PR', 1077, 191.197968], ['PT', 15, 32.979860840171824], ['RE', 181, 914.622192], ['RH', 189, 1434.224487], ['CM', 599, 2182.2687542027666], ['PCN', 907, 6905.988511505638], ['CL', 575, 3171.5760983778305], ['PF', 930, 10.230187], ['HY', 1097, 2334.481445], ['AHN', 88, 160.988251], ['PVHd', 63, 1668.983521], ['PH', 946, 177.362976], ['LHA', 194, 3298.28125], ['STN', 470, 704.158508], ['ZI', 797, 6428.612793], ['MB', 313, 4084.18317091465], ['SAG', 271, 382.891022], ['SNr', 381, 892.600342], ['VTA', 749, 640.17395], ['RR', 246, 939.941772], ['MRN', 128, 9675.318455377816], ['SCdg', 26, 1161.907959], ['SCdw', 42, 878.166992], ['SCiw', 17, 211.635986], ['PAG', 795, 22501.112823313306], ['PRC', 50, 650.3245847559281], ['APN', 215, 917.693787], ['NPC', 634, 725.2405096211623], ['RPF', 549009203, 82.4190679326515], ['CUN', 616, 146.371018088131], ['PPN', 1052, 542.5816492449799], ['IF', 12, 1274.832642], ['CLI', 591, 1005.76825], ['DR', 872, 709.65625], ['P', 771, 4494.67844556604], ['NLL', 612, 305.943451], ['PB', 867, 7441.710573869434], ['KF', 123, 157.532974], ['POR', 122, 158.061356], ['SOCm', 105, 145.936905], ['SOCl', 114, 563.736755], ['PCG', 898, 1724.0720052172242], ['PRNc', 1093, 6597.395990070785], ['SUT', 534, 2098.5187401615294], ['P5', 549009215, 1200.921337289427], ['LDT', 162, 601.087158], ['NI', 604, 212.018448], ['PRNr', 146, 4669.941078858459], ['SLC', 350, 726.013197033287], ['SLD', 358, 777.25886629422], ['MY', 354, 5948.477105967064], ['SPVC', 429, 219.840744], ['VII', 661, 3471.139976518837], ['GRN', 1048, 2446.1905837712975], ['IO', 83, 1910.6326771650583], ['IRN', 136, 7282.518803733927], ['LRNm', 955, 1109.933105], ['LRNp', 963, 317.330475], ['MARN', 307, 2939.2583985241818], ['MDRNd', 1098, 3081.911701442259], ['MDRNv', 1107, 76.12134049690246], ['PARN', 852, 1529.187866], ['PGRNd', 970, 245.79509], ['PGRNl', 978, 5541.990389395699], ['PRP', 169, 51.135323], ['PPY', 1069, 108.62847469681549], ['MV', 202, 100.7133660247078], ['XII', 773, 80.620125], ['RM', 206, 122.26392298940277], ['RO', 222, -7.965848661468506], ['CB', 512, 1013.5078309832306], ['CENT2', 976, 108.67766895832824], ['CENT3', 984, 155.310333], ['fibertracts', 1009, 55.586346], ['pc', 158, 313.8220159832382], ['IVn', 911, 39.628534754722594], ['tb', 841, 64.947266], ['ll', 658, 503.1136455300141], ['ml', 697, 525.895081], ['scp', 326, 358.232147], ['sctv', 866, 570.306458], ['arb', 728, 122.20639], ['int', 6, 667.511047], ['nst', 102, 48.014614], ['rust', 863, 1517.157959], ['unknow', 0, 11833.181676041739]]\n",
      "{0: 4027.2545105218887, 136: 14.990745782852173, 1107: 483.67176300287247, 354: 1345.7058433294296, 83: 359.3231567144394, 1069: 1000.3549692630768, 771: 619.2035347819328, 1093: 245.9407765865326, 841: 310.3660763502121, 642: 378.1893938779831, 574: 719.7601526975632, 146: 1917.3117105662823, 313: 2873.305315852165, 246: 855.4256445169449, 128: 7844.985249996185, 697: 306.0064650774002, 749: 64.34096103906631, 1097: 1108.6651945710182, 797: 4345.31451934576, 470: 261.271964430809, 685: 585.7574287652969, 549: 19.226922035217285, 422: 126.77149665355682, 795: 1338.576169371605, 42: 143.27040326595306, 88: 234.72335958480835, 576073704: 289.95387840270996, 194: 340.1490697860718, 214: 1435.7187622785568, 26: 260.14800703525543}\n",
      "[['unknow', 0, 4030.361572], ['PAL', 803, 32.515152], ['TH', 549, 63.304283], ['VM', 685, 571.637878], ['SPFm', 414, 426.828796], ['SPFp', 422, 94.61805], ['POL', 1029, 6.956611], ['RT', 262, 52.861431], ['HY', 1097, 1585.883911], ['AHN', 88, 260.413544], ['PH', 946, 402.298401], ['LHA', 194, 1126.355957], ['PeF', 576073704, 441.513062], ['STN', 470, 271.338531], ['ZI', 797, 11813.283203], ['MB', 313, 8973.000977], ['VTA', 749, 381.208466], ['RR', 246, 1164.574097], ['MRN', 128, 18880.576172], ['SCdg', 26, 3172.512207], ['SCdw', 42, 1726.473999], ['SCiw', 17, 1536.240845], ['SCig', 10, 120.052132], ['PAG', 795, 8388.478516], ['INC', 67, 244.717194], ['APN', 215, 2555.528564], ['CUN', 616, 505.181763], ['RN', 214, 5118.680176], ['P', 771, 947.759155], ['PRNc', 1093, 1434.936401], ['TRN', 574, 707.017334], ['P5', 549009215, 155.726425], ['PRNr', 146, 4870.950684], ['MY', 354, 1215.358398], ['NTB', 642, 404.4133], ['IO', 83, 598.540039], ['IRN', 136, 13.052967], ['MDRNv', 1107, 456.601196], ['PPY', 1069, 1005.070679], ['tb', 841, 320.74353], ['ml', 697, 347.412079], ['int', 6, 301.125214], ['fr', 595, 44.878441], ['unknow', 0, 4030.361572]]\n",
      "[['unknow', 0, 3.1070614781110635], ['PAL', 803, 32.515152], ['TH', 549, 44.07736096478271], ['VM', 685, -14.119550765296935], ['SPFm', 414, 426.828796], ['SPFp', 422, -32.15344665355683], ['POL', 1029, 6.956611], ['RT', 262, 52.861431], ['HY', 1097, 477.2187164289817], ['AHN', 88, 25.690184415191652], ['PH', 946, 402.298401], ['LHA', 194, 786.2068872139282], ['PeF', 576073704, 151.55918359729003], ['STN', 470, 10.066566569190968], ['ZI', 797, 7467.9686836542405], ['MB', 313, 6099.6956611478345], ['VTA', 749, 316.8675049609337], ['RR', 246, 309.14845248305505], ['MRN', 128, 11035.590922003816], ['SCdg', 26, 2912.364199964745], ['SCdw', 42, 1583.203595734047], ['SCiw', 17, 1536.240845], ['SCig', 10, 120.052132], ['PAG', 795, 7049.902346628394], ['INC', 67, 244.717194], ['APN', 215, 2555.528564], ['CUN', 616, 505.181763], ['RN', 214, 3682.961413721443], ['P', 771, 328.55562021806713], ['PRNc', 1093, 1188.9956244134673], ['TRN', 574, -12.742818697563166], ['P5', 549009215, 155.726425], ['PRNr', 146, 2953.638973433718], ['MY', 354, -130.34744532942955], ['NTB', 642, 26.2239061220169], ['IO', 83, 239.2168822855606], ['IRN', 136, -1.9377787828521722], ['MDRNv', 1107, -27.07056700287245], ['PPY', 1069, 4.715709736923259], ['tb', 841, 10.377453649787924], ['ml', 697, 41.4056139225998], ['int', 6, 301.125214], ['fr', 595, 44.878441], ['unknow', 0, 3.1070614781110635]]\n",
      "{0: 7639.74853014946, 1107: 211.68501567840576, 354: 4985.243193864822, 83: 735.2642289400101, 771: 1220.4498269557953, 122: 1485.6708425283432, 931: 750.7868863344193, 658: 2762.7614649534225, 997: 563.4832113981247, 313: 1750.8010635077953, 612: 1306.601533651352, 828: 3217.8881923258305, 580: 447.6145236492157, 549: 293.6997824907303, 560581563: 832.1291226148605, 797: 1616.9562810063362, 484682524: 17.273763060569763, 262: 334.6832402944565, 1009: 103.66032361984253, 6: 205.71274828910828, 820: 233.78606498241425, 795: 1125.2135155797005, 534: 988.181786775589, 350: 153.07677626609802, 146: 364.3787409067154, 1093: 940.1495302915573, 1069: 153.36577200889587, 307: 1755.7362260818481, 206: 244.72442096471786, 978: 254.2800668478012, 957: 767.9816757440567, 728: 134.0641497373581, 903: 295.1712166070938, 153: 321.5307232141495, 96: 56.677247643470764, 1123: 307.68160861730576, 225: 315.6692593097687, 209: 66.97422969341278, 413: 284.9165952205658, 123: 216.6771035194397}\n",
      "[['root', 997, 394.874542], ['unknow', 0, 10077.137695], ['TH', 549, 747.627258], ['PoT', 563807435, 2.291328], ['PIL', 560581563, 1159.299316], ['RT', 262, 311.400421], ['ZI', 797, 4326.549316], ['MB', 313, 4793.477539], ['SCop', 851, 18.076166], ['ICc', 811, 70.011803], ['ICd', 820, 1403.40625], ['ICe', 828, 8999.272461], ['NB', 580, 418.038544], ['MEV', 460, 173.707153], ['RR', 246, 365.679016], ['MRN', 128, 1507.998657], ['SCig', 10, 81.186661], ['PAG', 795, 8696.048828], ['RPF', 549009203, 627.821716], ['P', 771, 2758.008789], ['NLL', 612, 5757.072266], ['PB', 867, 239.716354], ['KF', 123, 223.716934], ['POR', 122, 3016.666016], ['SOCm', 105, 399.368713], ['SOCl', 114, 682.944763], ['B', 280, 431.617737], ['PCG', 898, 909.632141], ['PG', 931, 802.803894], ['PRNc', 1093, 3848.05835], ['SUT', 534, 2013.086548], ['P5', 549009215, 16.636463], ['LC', 147, 20.501507], ['PRNr', 146, 353.716705], ['SLC', 350, 330.713226], ['SLD', 358, 117.800766], ['MY', 354, 12878.21582], ['DCO', 96, 32.879574], ['VCO', 101, 1216.431274], ['ECU', 903, 344.286072], ['NTB', 642, 298.141327], ['VII', 661, 106.585701], ['GRN', 1048, 719.801208], ['IO', 83, 1573.911133], ['LRNp', 963, 27.2108], ['MARN', 307, 4578.063477], ['MDRNv', 1107, 198.427765], ['PGRNl', 978, 921.578674], ['PPY', 1069, 819.532959], ['LAV', 209, 85.474922], ['MV', 202, 125.224342], ['SPIV', 225, 334.820374], ['RM', 206, 598.700195], ['CB', 512, 149.832886], ['UVU', 957, 779.972595], ['fibertracts', 1009, 270.490295], ['IVn', 911, 82.288841], ['vVIIIn', 413, 301.281616], ['tb', 841, 86.195328], ['ll', 658, 3531.419678], ['ml', 697, 295.048798], ['sctv', 866, 409.315521], ['icp', 1123, 290.368622], ['arb', 728, 121.044228], ['int', 6, 318.958069], ['ar', 484682524, 12.755253], ['rust', 863, 442.094513], ['V4r', 153, 309.644104], ['unknow', 0, 10077.137695]]\n",
      "[['root', 997, -168.60866939812468], ['unknow', 0, 2437.3891648505396], ['TH', 549, 453.9274755092697], ['PoT', 563807435, 2.291328], ['PIL', 560581563, 327.17019338513956], ['RT', 262, -23.282819294456488], ['ZI', 797, 2709.5930349936634], ['MB', 313, 3042.676475492205], ['SCop', 851, 18.076166], ['ICc', 811, 70.011803], ['ICd', 820, 1169.6201850175858], ['ICe', 828, 5781.38426867417], ['NB', 580, -29.575979649215697], ['MEV', 460, 173.707153], ['RR', 246, 365.679016], ['MRN', 128, 1507.998657], ['SCig', 10, 81.186661], ['PAG', 795, 7570.8353124203], ['RPF', 549009203, 627.821716], ['P', 771, 1537.5589620442047], ['NLL', 612, 4450.470732348648], ['PB', 867, 239.716354], ['KF', 123, 7.039830480560312], ['POR', 122, 1530.995173471657], ['SOCm', 105, 399.368713], ['SOCl', 114, 682.944763], ['B', 280, 431.617737], ['PCG', 898, 909.632141], ['PG', 931, 52.01700766558076], ['PRNc', 1093, 2907.9088197084425], ['SUT', 534, 1024.904761224411], ['P5', 549009215, 16.636463], ['LC', 147, 20.501507], ['PRNr', 146, -10.662035906715403], ['SLC', 350, 177.636449733902], ['SLD', 358, 117.800766], ['MY', 354, 7892.972626135177], ['DCO', 96, -23.797673643470766], ['VCO', 101, 1216.431274], ['ECU', 903, 49.11485539290618], ['NTB', 642, 298.141327], ['VII', 661, 106.585701], ['GRN', 1048, 719.801208], ['IO', 83, 838.64690405999], ['LRNp', 963, 27.2108], ['MARN', 307, 2822.3272509181515], ['MDRNv', 1107, -13.257250678405768], ['PGRNl', 978, 667.2986071521988], ['PPY', 1069, 666.1671869911041], ['LAV', 209, 18.500692306587226], ['MV', 202, 125.224342], ['SPIV', 225, 19.15111469023134], ['RM', 206, 353.97577403528214], ['CB', 512, 149.832886], ['UVU', 957, 11.990919255943254], ['fibertracts', 1009, 166.82997138015747], ['IVn', 911, 82.288841], ['vVIIIn', 413, 16.36502077943419], ['tb', 841, 86.195328], ['ll', 658, 768.6582130465777], ['ml', 697, 295.048798], ['sctv', 866, 409.315521], ['icp', 1123, -17.31298661730574], ['arb', 728, -13.01992173735809], ['int', 6, 113.24532071089175], ['ar', 484682524, -4.5185100605697635], ['rust', 863, 442.094513], ['V4r', 153, -11.886619214149448], ['unknow', 0, 2437.3891648505396]]\n",
      "{0: 5084.474564731121, 354: 4888.104806900024, 771: 554.1035423278809, 122: 1839.495670080185, 931: 470.1082481145859, 658: 2102.7839789390564, 612: 550.0251049995422, 313: 1710.0503697991371, 997: 221.7419070005417, 828: 5043.39761197567, 128: 443.7388643026352, 1029: 312.575159907341, 563807435: 242.1514275074005, 1088: 578.1750251054764, 549: 257.59172970056534, 484682524: 11.194843053817749, 718: 590.7378852367401, 1092: 36.24019968509674, 262: 209.36514627933502, 1009: 17.084834694862366, 6: 552.5785188674927, 1022: 293.8335666656494, 477: 29.067562460899353, 672: 898.544124007225, 484682516: 129.5296460390091, 484682512: 65.56704843044281, 893: 645.5895463228226, 114: 328.72010082006454, 1093: 771.9421862363815, 1069: 293.7034252882004, 83: 341.6569728255272, 697: 136.36429715156555, 206: 45.22620463371277, 1048: 1732.9299303889275, 1043: 369.9329209327698, 222: 110.76756632328033, 307: 192.56334781646729}\n",
      "[['root', 997, 354.218262], ['unknow', 0, 15623.967773], ['SSp-bfd6a', 1038, 986.14093], ['SSp-bfd6b', 1062, 399.224304], ['SSp-un6a', 182305709, 134.19278], ['SSp-un6b', 182305713, 61.154888], ['SSs6a', 862, 494.155365], ['SSs6b', 893, 1803.350952], ['VISC6a', 857, 435.866119], ['STR', 477, 14.5778], ['CP', 672, 912.233276], ['GPe', 1022, 307.628784], ['TH', 549, 1447.795288], ['VPL', 718, 578.225281], ['PoT', 563807435, 307.277679], ['PP', 1044, 531.665344], ['MGm', 1088, 815.427368], ['POL', 1029, 444.069733], ['PIL', 560581563, 498.034119], ['RT', 262, 204.462509], ['ZI', 797, 573.566345], ['MB', 313, 2998.520264], ['ICd', 820, 444.830902], ['ICe', 828, 12989.886719], ['MRN', 128, 1475.032959], ['SCdg', 26, 476.944733], ['SCdw', 42, 124.231125], ['SCiw', 17, 1573.744995], ['PAG', 795, 1350.293823], ['PPN', 1052, 71.066048], ['P', 771, 5490.169434], ['NLL', 612, 6815.729004], ['PB', 867, 1001.637085], ['POR', 122, 5022.425781], ['SOCl', 114, 2800.379639], ['PCG', 898, 1554.095825], ['PG', 931, 475.002869], ['PRNc', 1093, 3069.535645], ['SG', 318, 171.654663], ['SUT', 534, 1463.253296], ['V', 621, 533.356201], ['P5', 549009215, 975.089355], ['Acs5', 549009219, 176.190384], ['LDT', 162, 713.027283], ['PRNr', 146, 1332.82959], ['SLC', 350, 252.188019], ['SLD', 358, 162.950699], ['MY', 354, 14895.885742], ['VI', 653, 345.228027], ['VII', 661, 300.075043], ['GRN', 1048, 6075.415527], ['IO', 83, 3375.242676], ['IRN', 136, 2652.510498], ['LRNm', 955, 125.680328], ['MARN', 307, 2886.360596], ['MDRNv', 1107, 1893.875366], ['PARN', 852, 964.622742], ['PGRNd', 970, 476.852814], ['PGRNl', 978, 1436.819702], ['PRP', 169, 23.365582], ['PPY', 1069, 1664.432861], ['LAV', 209, 363.583557], ['MV', 202, 3041.272949], ['SPIV', 225, 884.155151], ['SUV', 217, 878.98822], ['RM', 206, 247.594894], ['RO', 222, 265.360382], ['CB', 512, 1334.24939], ['COPY', 1033, 14.130261], ['IP', 91, 395.111633], ['DN', 846, 477.607483], ['fibertracts', 1009, 19.851654], ['IVn', 911, 201.737289], ['VIIn', 798, 143.805634], ['tb', 841, 482.171295], ['das', 506, 26.629932], ['ll', 658, 4204.951172], ['ml', 697, 410.949188], ['scp', 326, 743.649719], ['sctv', 866, 866.155884], ['scwm', 484682512, 39.344444], ['ccb', 484682516, 127.591766], ['int', 6, 617.406921], ['em', 1092, 29.011204], ['ar', 484682524, 40.219597], ['tspc', 1043, 1301.036987], ['rust', 863, 367.177338], ['unknow', 0, 15623.967773]]\n",
      "[['root', 997, 132.4763549994583], ['unknow', 0, 10539.49320826888], ['SSp-bfd6a', 1038, 986.14093], ['SSp-bfd6b', 1062, 399.224304], ['SSp-un6a', 182305709, 134.19278], ['SSp-un6b', 182305713, 61.154888], ['SSs6a', 862, 494.155365], ['SSs6b', 893, 1157.7614056771774], ['VISC6a', 857, 435.866119], ['STR', 477, -14.489762460899353], ['CP', 672, 13.68915199277501], ['GPe', 1022, 13.795217334350582], ['TH', 549, 1190.2035582994347], ['VPL', 718, -12.512604236740117], ['PoT', 563807435, 65.12625149259947], ['PP', 1044, 531.665344], ['MGm', 1088, 237.25234289452362], ['POL', 1029, 131.49457309265898], ['PIL', 560581563, 498.034119], ['RT', 262, -4.902637279335011], ['ZI', 797, 573.566345], ['MB', 313, 1288.469894200863], ['ICd', 820, 444.830902], ['ICe', 828, 7946.48910702433], ['MRN', 128, 1031.2940946973647], ['SCdg', 26, 476.944733], ['SCdw', 42, 124.231125], ['SCiw', 17, 1573.744995], ['PAG', 795, 1350.293823], ['PPN', 1052, 71.066048], ['P', 771, 4936.0658916721195], ['NLL', 612, 6265.703899000458], ['PB', 867, 1001.637085], ['POR', 122, 3182.930110919815], ['SOCl', 114, 2471.6595381799357], ['PCG', 898, 1554.095825], ['PG', 931, 4.894620885414099], ['PRNc', 1093, 2297.5934587636184], ['SG', 318, 171.654663], ['SUT', 534, 1463.253296], ['V', 621, 533.356201], ['P5', 549009215, 975.089355], ['Acs5', 549009219, 176.190384], ['LDT', 162, 713.027283], ['PRNr', 146, 1332.82959], ['SLC', 350, 252.188019], ['SLD', 358, 162.950699], ['MY', 354, 10007.780935099976], ['VI', 653, 345.228027], ['VII', 661, 300.075043], ['GRN', 1048, 4342.485596611073], ['IO', 83, 3033.5857031744727], ['IRN', 136, 2652.510498], ['LRNm', 955, 125.680328], ['MARN', 307, 2693.7972481835327], ['MDRNv', 1107, 1893.875366], ['PARN', 852, 964.622742], ['PGRNd', 970, 476.852814], ['PGRNl', 978, 1436.819702], ['PRP', 169, 23.365582], ['PPY', 1069, 1370.7294357117996], ['LAV', 209, 363.583557], ['MV', 202, 3041.272949], ['SPIV', 225, 884.155151], ['SUV', 217, 878.98822], ['RM', 206, 202.36868936628724], ['RO', 222, 154.59281567671968], ['CB', 512, 1334.24939], ['COPY', 1033, 14.130261], ['IP', 91, 395.111633], ['DN', 846, 477.607483], ['fibertracts', 1009, 2.766819305137634], ['IVn', 911, 201.737289], ['VIIn', 798, 143.805634], ['tb', 841, 482.171295], ['das', 506, 26.629932], ['ll', 658, 2102.1671930609436], ['ml', 697, 274.58489084843444], ['scp', 326, 743.649719], ['sctv', 866, 866.155884], ['scwm', 484682512, -26.222604430442807], ['ccb', 484682516, -1.9378800390090873], ['int', 6, 64.82840213250734], ['em', 1092, -7.228995685096741], ['ar', 484682524, 29.02475394618225], ['tspc', 1043, 931.1040660672302], ['rust', 863, 367.177338], ['unknow', 0, 10539.49320826888]]\n",
      "{0: 3814.68399733305, 1107: 255.65010786056519, 354: 2680.8787013292313, 83: 352.3501687049866, 771: 1182.2485939860344, 122: 1617.0496495962143, 78: 1570.137431025505, 512: 413.27266705036163, 997: 227.60648775100708, 658: 3077.1786562800407, 313: 3627.553271740675, 828: 4042.8303169608116, 820: 684.5684036016464, 26: 1816.89941072464, 549: 8.42856752872467, 560581563: 202.44730412960052, 17: 507.9186689853668, 10: 1073.179948925972, 851: 761.8750855922699, 842: 8.044219017028809, 834: 82.47053647041321, 795: 695.0432729721069, 42: 234.82500410079956, 612: 381.9135552048683, 863: 231.16818463802338, 534: 669.7639627456665, 867: 501.3761180639267, 326: 117.2012597322464, 1052: 1297.9541447162628, 616: 870.3437711000443, 128: 604.2503755688667, 549009215: 756.203210234642}\n",
      "[['root', 997, 378.490234], ['unknow', 0, 4903.973145], ['TH', 549, 1107.774902], ['VPL', 718, 4569.203125], ['PoT', 563807435, 316.496307], ['PP', 1044, 561.344116], ['MGm', 1088, 111.110001], ['MD', 362, 224.904327], ['PCN', 907, 46.175602], ['PF', 930, 401.681488], ['PIL', 560581563, 2456.049072], ['HY', 1097, 82.803635], ['ZI', 797, 5735.005371], ['MB', 313, 14358.508789], ['SCop', 851, 1486.679199], ['SCsg', 842, 117.353058], ['SCzo', 834, 182.583481], ['ICd', 820, 3692.429199], ['ICe', 828, 34738.203125], ['SAG', 271, 275.543732], ['SNr', 381, 693.470581], ['MRN', 128, 6954.110352], ['SCdg', 26, 4909.658691], ['SCdw', 42, 279.162201], ['SCiw', 17, 626.90332], ['SCig', 10, 2115.942139], ['PAG', 795, 6547.294922], ['CUN', 616, 977.742126], ['RN', 214, 322.556763], ['PPN', 1052, 3620.708252], ['P', 771, 6303.203125], ['NLL', 612, 2272.677734], ['PB', 867, 1411.339478], ['POR', 122, 2723.987061], ['SOCm', 105, 762.759216], ['SOCl', 114, 841.151367], ['PRNc', 1093, 1928.451782], ['SUT', 534, 1436.934326], ['P5', 549009215, 747.415039], ['Acs5', 549009219, 107.859154], ['PRNr', 146, 672.542297], ['MY', 354, 4124.917969], ['NTB', 642, 154.669312], ['NTS', 651, 255.281616], ['DMX', 839, 190.507477], ['GRN', 1048, 105.479721], ['IO', 83, 1122.199585], ['MARN', 307, 1136.96582], ['MDRNv', 1107, 546.720947], ['PRP', 169, 733.250427], ['MV', 202, 2565.913574], ['XII', 773, 922.729919], ['CB', 512, 747.193054], ['VeCB', 589508455, 471.369843], ['pc', 158, 44.12159], ['tb', 841, 191.608566], ['ll', 658, 4761.152344], ['bic', 482, 1013.08136], ['scp', 326, 128.725967], ['mcp', 78, 1860.050415], ['cpd', 924, 453.990204], ['em', 1092, 455.246033], ['ar', 484682524, 98.258591], ['rust', 863, 487.126495], ['unknow', 0, 4903.973145]]\n",
      "[['root', 997, 150.8837462489929], ['unknow', 0, 1089.2891476669502], ['TH', 549, 1099.3463344712754], ['VPL', 718, 4569.203125], ['PoT', 563807435, 316.496307], ['PP', 1044, 561.344116], ['MGm', 1088, 111.110001], ['MD', 362, 224.904327], ['PCN', 907, 46.175602], ['PF', 930, 401.681488], ['PIL', 560581563, 2253.6017678703993], ['HY', 1097, 82.803635], ['ZI', 797, 5735.005371], ['MB', 313, 10730.955517259325], ['SCop', 851, 724.80411340773], ['SCsg', 842, 109.3088389829712], ['SCzo', 834, 100.1129445295868], ['ICd', 820, 3007.8607953983537], ['ICe', 828, 30695.37280803919], ['SAG', 271, 275.543732], ['SNr', 381, 693.470581], ['MRN', 128, 6349.859976431133], ['SCdg', 26, 3092.7592802753597], ['SCdw', 42, 44.33719689920042], ['SCiw', 17, 118.98465101463319], ['SCig', 10, 1042.7621900740282], ['PAG', 795, 5852.251649027893], ['CUN', 616, 107.39835489995573], ['RN', 214, 322.556763], ['PPN', 1052, 2322.754107283737], ['P', 771, 5120.954531013966], ['NLL', 612, 1890.7641787951316], ['PB', 867, 909.9633599360734], ['POR', 122, 1106.9374114037855], ['SOCm', 105, 762.759216], ['SOCl', 114, 841.151367], ['PRNc', 1093, 1928.451782], ['SUT', 534, 767.1703632543336], ['P5', 549009215, -8.78817123464205], ['Acs5', 549009219, 107.859154], ['PRNr', 146, 672.542297], ['MY', 354, 1444.0392676707688], ['NTB', 642, 154.669312], ['NTS', 651, 255.281616], ['DMX', 839, 190.507477], ['GRN', 1048, 105.479721], ['IO', 83, 769.8494162950135], ['MARN', 307, 1136.96582], ['MDRNv', 1107, 291.07083913943484], ['PRP', 169, 733.250427], ['MV', 202, 2565.913574], ['XII', 773, 922.729919], ['CB', 512, 333.9203869496383], ['VeCB', 589508455, 471.369843], ['pc', 158, 44.12159], ['tb', 841, 191.608566], ['ll', 658, 1683.9736877199593], ['bic', 482, 1013.08136], ['scp', 326, 11.524707267753598], ['mcp', 78, 289.91298397449486], ['cpd', 924, 453.990204], ['em', 1092, 455.246033], ['ar', 484682524, 98.258591], ['rust', 863, 255.9583103619766], ['unknow', 0, 1089.2891476669502]]\n",
      "{0: 4623.734058976173, 997: 200.24824500083923, 354: 2126.570979475975, 903: 136.01792991161346, 429: 151.86275565624237, 437: 1498.678645849228, 765: 189.08124661445618, 225: 1818.4210786819458, 711: 833.0083295106888, 190: 587.287940621376, 83: 132.75374448299408}\n",
      "[['root', 997, 493.274139], ['unknow', 0, 8211.866211], ['MY', 354, 3741.417969], ['CU', 711, 2630.382324], ['ECU', 903, 2163.469482], ['SPVC', 429, 212.319885], ['SPVI', 437, 1725.088989], ['SPVO', 445, 653.63916], ['IO', 83, 212.201004], ['SPIV', 225, 5321.500488], ['x', 765, 759.630066], ['UVU', 957, 1216.98291], ['arb', 728, 106.269653], ['py', 190, 599.667297], ['tspc', 1043, 422.207886], ['unknow', 0, 8211.866211]]\n",
      "[['root', 997, 293.02589399916076], ['unknow', 0, 3588.132152023827], ['MY', 354, 1614.846989524025], ['CU', 711, 1797.3739944893114], ['ECU', 903, 2027.4515520883865], ['SPVC', 429, 60.45712934375763], ['SPVI', 437, 226.41034315077218], ['SPVO', 445, 653.63916], ['IO', 83, 79.44725951700593], ['SPIV', 225, 3503.079409318054], ['x', 765, 570.5488193855439], ['UVU', 957, 1216.98291], ['arb', 728, 106.269653], ['py', 190, 12.379356378623925], ['tspc', 1043, 422.207886], ['unknow', 0, 3588.132152023827]]\n",
      "{0: 5419.528276205063, 429: 453.1648539304733, 354: 2765.074036896229, 553: 1942.2952810525894, 794: 1427.5558522939682, 1123: 2394.7800323963165, 413: 182.65308248996735, 771: 1.6620455980300903, 512: 2861.806826531887, 728: 8824.04908233881, 984: 179.3672866821289, 91: 180.86660432815552, 326: 388.45007145404816, 850: 906.336596429348, 372: 14.625849604606628, 989: 166.40238618850708, 863: 149.7281813621521, 209: 1297.0617675185204, 217: 649.8903418183327, 589508455: 273.8660855293274}\n",
      "[['unknow', 0, 7648.547363], ['MY', 354, 4712.085449], ['SPVC', 429, 638.37085], ['ICB', 372, 145.614288], ['MDRNd', 1098, 212.488831], ['LAV', 209, 4458.369141], ['MV', 202, 7.122065], ['SUV', 217, 1036.899414], ['x', 765, 571.835571], ['CB', 512, 6060.39209], ['CENT2', 976, 77.47052], ['CENT3', 984, 394.289429], ['DEC', 936, 3563.006836], ['PYR', 951, 997.413269], ['FN', 989, 3065.722168], ['IP', 91, 1076.689331], ['VeCB', 589508455, 1462.740479], ['sptV', 794, 2147.828369], ['vVIIIn', 413, 167.221725], ['cbc', 744, 503.368073], ['scp', 326, 751.152039], ['uf', 850, 1388.589478], ['icp', 1123, 2559.315186], ['sctd', 553, 2742.289551], ['arb', 728, 19585.566406], ['rust', 863, 521.946594], ['unknow', 0, 7648.547363]]\n",
      "[['unknow', 0, 2229.019086794937], ['MY', 354, 1947.0114121037714], ['SPVC', 429, 185.2059960695267], ['ICB', 372, 130.98843839539336], ['MDRNd', 1098, 212.488831], ['LAV', 209, 3161.3073734814798], ['MV', 202, 7.122065], ['SUV', 217, 387.0090721816673], ['x', 765, 571.835571], ['CB', 512, 3198.585263468113], ['CENT2', 976, 77.47052], ['CENT3', 984, 214.92214231787108], ['DEC', 936, 3563.006836], ['PYR', 951, 997.413269], ['FN', 989, 2899.3197818114927], ['IP', 91, 895.8227266718445], ['VeCB', 589508455, 1188.8743934706727], ['sptV', 794, 720.2725167060316], ['vVIIIn', 413, -15.431357489967354], ['cbc', 744, 503.368073], ['scp', 326, 362.7019675459518], ['uf', 850, 482.2528815706521], ['icp', 1123, 164.53515360368328], ['sctd', 553, 799.9942699474104], ['arb', 728, 10761.517323661192], ['rust', 863, 372.2184126378479], ['unknow', 0, 2229.019086794937]]\n",
      "{0: 4809.587229281664, 1107: 529.405960559845, 354: 1855.8915549516678, 83: 1187.1837307214737, 642: 915.0631654262543, 771: 2500.5869377851486, 122: 141.37831485271454, 313: 3174.9377588629723, 1052: 427.5667963027954, 271: 387.9614142179489, 128: 1748.204192519188, 549: 345.9741824269295, 560581563: 756.6708974838257, 797: 871.3580573797226, 1044: 10.435467004776001, 828: 1220.5523390173912, 820: 1511.3078309297562, 811: 126.23418951034546, 10: 17.556599855422974, 957: 948.5377938747406, 997: 218.14537358283997, 1039: 69.82018709182739, 225: 651.8649176359177, 859: 138.01977038383484}\n",
      "[['root', 997, 652.51123], ['unknow', 0, 6086.868652], ['TH', 549, 678.214539], ['VPL', 718, 6907.494629], ['PP', 1044, 663.240845], ['PIL', 560581563, 2378.802246], ['RT', 262, 8.743228], ['ZI', 797, 5305.359375], ['MB', 313, 5988.359375], ['ICc', 811, 166.940094], ['ICd', 820, 5559.351562], ['ICe', 828, 5655.791016], ['SAG', 271, 867.960754], ['SNr', 381, 1531.664185], ['MRN', 128, 3861.911133], ['SCdg', 26, 173.516281], ['SCig', 10, 8.100776], ['PAG', 795, 360.455048], ['CUN', 616, 361.023621], ['PPN', 1052, 865.184448], ['P', 771, 4939.849609], ['NLL', 612, 80.834602], ['PB', 867, 471.460754], ['POR', 122, 311.480682], ['SOCl', 114, 48.080521], ['PG', 931, 56.588348], ['TRN', 574, 37.609978], ['PRNr', 146, 144.648621], ['MY', 354, 2641.085449], ['GR', 1039, 676.633545], ['NTB', 642, 1807.433716], ['NTS', 651, 333.143707], ['VII', 661, 868.696838], ['IO', 83, 1944.676758], ['MDRNv', 1107, 584.850342], ['PAS', 859, 202.297272], ['PGRNl', 978, 481.895172], ['PPY', 1069, 531.585205], ['MV', 202, 260.184601], ['SPIV', 225, 2885.128662], ['UVU', 957, 961.759033], ['IVn', 911, 110.829582], ['ll', 658, 1003.702698], ['ts', 237, 312.345581], ['cpd', 924, 205.496964], ['em', 1092, 299.694366], ['rust', 863, 395.23111], ['unknow', 0, 6086.868652]]\n",
      "[['root', 997, 434.36585641716], ['unknow', 0, 1277.2814227183362], ['TH', 549, 332.24035657307047], ['VPL', 718, 6907.494629], ['PP', 1044, 652.805377995224], ['PIL', 560581563, 1622.1313485161745], ['RT', 262, 8.743228], ['ZI', 797, 4434.001317620277], ['MB', 313, 2813.4216161370277], ['ICc', 811, 40.70590448965453], ['ICd', 820, 4048.0437310702437], ['ICe', 828, 4435.238676982609], ['SAG', 271, 479.99933978205104], ['SNr', 381, 1531.664185], ['MRN', 128, 2113.706940480812], ['SCdg', 26, 173.516281], ['SCig', 10, -9.455823855422974], ['PAG', 795, 360.455048], ['CUN', 616, 361.023621], ['PPN', 1052, 437.61765169720456], ['P', 771, 2439.2626712148513], ['NLL', 612, 80.834602], ['PB', 867, 471.460754], ['POR', 122, 170.10236714728546], ['SOCl', 114, 48.080521], ['PG', 931, 56.588348], ['TRN', 574, 37.609978], ['PRNr', 146, 144.648621], ['MY', 354, 785.1938940483324], ['GR', 1039, 606.8133579081726], ['NTB', 642, 892.3705505737457], ['NTS', 651, 333.143707], ['VII', 661, 868.696838], ['IO', 83, 757.4930272785264], ['MDRNv', 1107, 55.444381440154984], ['PAS', 859, 64.27750161616515], ['PGRNl', 978, 481.895172], ['PPY', 1069, 531.585205], ['MV', 202, 260.184601], ['SPIV', 225, 2233.2637443640824], ['UVU', 957, 13.221239125259444], ['IVn', 911, 110.829582], ['ll', 658, 1003.702698], ['ts', 237, 312.345581], ['cpd', 924, 205.496964], ['em', 1092, 299.694366], ['rust', 863, 395.23111], ['unknow', 0, 1277.2814227183362]]\n",
      "{0: 4514.814098060131, 354: 548.6061483621597, 429: 46.48383092880249, 863: 1397.4552359580994, 963: 793.6702157855034, 553: 273.8095289468765, 866: 43.956263184547424, 661: 401.00839257240295, 771: 1125.1481714248657, 794: 129.61737179756165, 7: 1599.7863581180573, 123: 15.74247407913208, 534: 41.047078251838684, 867: 98.5205100774765, 955: 583.9162868261337}\n",
      "[['unknow', 0, 4546.52832], ['P', 771, 1491.906738], ['PSV', 7, 2185.25293], ['PB', 867, 301.611633], ['KF', 123, 1354.81958], ['SUT', 534, 9.751941], ['MY', 354, 947.420105], ['SPVC', 429, 62.754921], ['VII', 661, 301.578918], ['IRN', 136, 16.141462], ['LRNm', 955, 1911.356079], ['LRNp', 963, 793.676025], ['MDRNd', 1098, 375.32962], ['sV', 229, 12.680376], ['sptV', 794, 130.536316], ['sctv', 866, 114.522865], ['sctd', 553, 641.381042], ['arb', 728, 1.961346], ['rust', 863, 2015.098267], ['unknow', 0, 4546.52832]]\n",
      "[['unknow', 0, 31.714221939869276], ['P', 771, 366.7585665751342], ['PSV', 7, 585.4665718819429], ['PB', 867, 203.09112292252348], ['KF', 123, 1339.077105920868], ['SUT', 534, -31.295137251838682], ['MY', 354, 398.8139566378403], ['SPVC', 429, 16.271090071197513], ['VII', 661, -99.42947457240297], ['IRN', 136, 16.141462], ['LRNm', 955, 1327.4397921738662], ['LRNp', 963, 0.005809214496593995], ['MDRNd', 1098, 375.32962], ['sV', 229, 12.680376], ['sptV', 794, 0.9189442024383538], ['sctv', 866, 70.56660181545257], ['sctd', 553, 367.57151305312345], ['arb', 728, 1.961346], ['rust', 863, 617.6430310419007], ['unknow', 0, 31.714221939869276]]\n"
     ]
    }
   ],
   "source": [
    "import BrainRegion as BR \n",
    "import numpy as np\n",
    "br = BR.BrainRegion()\n",
    "br.praseJson()\n",
    "# print(neuronALLproj)\n",
    "for neuron,proj in neuronALLproj.items():\n",
    "    trunkLen = neuronTrunkLen[neuron]\n",
    "    brproperty=BR.RegionProperty(copy.deepcopy(br))\n",
    "    brproperty.setProperty(proj)\n",
    "    regionPropertyList = brproperty.getRegionPropertyList()\n",
    "\n",
    "    print(trunkLen)\n",
    "    print(regionPropertyList)\n",
    "    for region in regionPropertyList:\n",
    "        if region[1] in trunkLen.keys():\n",
    "            region[2]-=trunkLen[region[1]]\n",
    "    print(regionPropertyList)\n",
    "    \n",
    "    \n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "neuronVis",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
